<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Insert title here</title>
        <script>
			function Dog(name) {
				this.name = name;
				this.setName = setName;
				this.getName = getName;
			}

			function Cat(name) {
				this.name = name;
				this.setName = setName;
				this.getName = getName;
			}

			function setName(name) {
				this.name = name;
				return this;
			}
			function getName(){
			    console.log(this.name);
			}
			var dog = new Dog("멍멍이");
			var cat = new Cat("야옹이");
			dog.setName("월월..");
			cat.setName("미야우");
			// this는 실행 기준으로 현재 이 코드를 실행하고 있는 녀석. 즉 아래에서 this는 window
			// 메서드들이 return this를 통해 메서드 체이닝을 구현한다.
			console.log(dog.setName("똥개").getName());
			console.log("dog - "+dog.getName());
			console.log("cat - "+cat.getName());
        </script>
    </head>
    <body>

    </body>
</html>